package collection;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
/**
 * List接口:
 * 1.List接口继承自Collection接口，为有序、可重复、有下标的集合
 * 2.有两个常见的实现类:
 *   1)ArrayList:内部使用数组实现，查询性能更好(直接下标找到物理地址)，增删性能不好
 *   2)LinkedList:内部使用链表实现，只记首尾，所以首尾元素查询和增删性能好，
 *                中间元素查询和增删性能不好
 * 3.List集合常用功能: get()获取元素、set()设置元素
 */
public class ListDemo1 {
    public static void main(String[] args) {
        /*
        List<String> list = new ArrayList<>();
        list.add("one");
        list.add("two");
        list.add("three");
        list.add("four");
        list.add("five");
        list.add("one");
        System.out.println("list:"+list); //[one, two, three, four, five, one]

        String e = list.get(3); //获取下标3位置的元素
        System.out.println(e); //four

        list.set(2,"six"); //将下标2位置的元素设置为six---------常规操作
        System.out.println("list:"+list); //[one, two, six, four, five, one]
        //将下标4位置的元素设置为seven，同时返回原数据并赋值给old
        String old = list.set(4,"seven");
        System.out.println(old); //five
        System.out.println("list:"+list); //[one, two, six, four, seven, one]
        */

        //声明一个整数集合，填充10个随机数据(0到99)到集合中，将集合中的每个元素扩大10倍
        Random rand = new Random();
        List<Integer> list = new ArrayList<>();
        for(int i=0;i<10;i++){ //10次
            list.add(rand.nextInt(100));
        }
        System.out.println(list);

        for(int i=0;i<list.size();i++){ //遍历list集合
            list.set(i,list.get(i)*10); //给每个元素扩大10倍
        }
        System.out.println(list);
    }
}













